Goto

Collaborating Authors

 depth-first search


Ariadne and Theseus: Exploration and Rendezvous with Two Mobile Agents in an Unknown Graph

arXiv.org Artificial Intelligence

We investigate two fundamental problems in mobile computing: exploration and rendezvous, with two distinct mobile agents in an unknown graph. The agents may communicate by reading and writing information on whiteboards that are located at all nodes. They both move along one adjacent edge at every time-step. In the exploration problem, the agents start from the same arbitrary node and must traverse all the edges. We present an algorithm achieving collective exploration in $m$ time-steps, where $m$ is the number of edges of the graph. This improves over the guarantee of depth-first search, which requires $2m$ time-steps. In the rendezvous problem, the agents start from different nodes of the graph and must meet as fast as possible. We present an algorithm guaranteeing rendezvous in at most $\frac{3}{2}m$ time-steps. This improves over the so-called `wait for Mommy' algorithm which is based on depth-first search and which also requires $2m$ time-steps. Importantly, all our guarantees are derived from a more general asynchronous setting in which the speeds of the agents are controlled by an adversary at all times. Our guarantees generalize to weighted graphs, when replacing the number of edges $m$ with the sum of all edge lengths. We show that our guarantees are met with matching lower-bounds in the asynchronous setting.


DeepEdit: Knowledge Editing as Decoding with Constraints

arXiv.org Artificial Intelligence

We develop a new perspective of knowledge editing for large language models (LLMs) as decoding with constraints. We propose DeepEdit (Depth-first Search based Progressive Decoding for Knowledge Editing), a neuro-symbolic method that improves knowledge editing with better coherence of reasoning, relevance to the question, and awareness of updated knowledge. DeepEdit can be flexibly applied to all black-box LLMs: it does not require any access to the model parameters, representations, or output vocabulary distributions. DeepEdit progressively produces the high-quality reasoning steps towards effective knowledge editing. It utilizes a depth-first search to revise the LLMs' output, which improves the output's informativeness to the input question and awareness of the updated knowledge. Qualitatively, DeepEdit effectively controls LLMs to produce more succinct reasoning in accord with knowledge editing. Quantitatively, DeepEdit yields significant gains on MQuaKE, a challenging multi-hop question-answering dataset with knowledge editing. We release the source code at https://github.com/wangywUST/DeepEdit.


Research Papers to Read on Depth First Search Algorithm(Computer Science)

#artificialintelligence

Existing FOND planning algorithms are effective and employ a wide range of techniques. However, most of the existing algorithms are not robust for dealing with both non-determinism and task size. In this paper, we develop a novel iterative depth-first search algorithm that solves FOND planning tasks and produces strong cyclic policies. Our algorithm is explicitly designed for FOND planning, addressing more directly the non-deterministic aspect of FOND planning, and it also exploits the benefits of heuristic functions to make the algorithm more effective during the iterative searching process.


Python Program for Depth First Binary Tree Search without using Recursion

#artificialintelligence

The program creates a binary tree and presents a menu to the user to perform operations on the tree including a depth-first search. The methods insert_left and insert_right insert a node as the left and right child respectively. A variable is created to store the binary tree. What would you like to do? insert 1 at root What would you like to do? insert 2 left of 1 What would you like to do? insert 3 right of 1 What would you like to do? insert 4 right of 2 What would you like to do? insert 5 left of 4 What would you like to do? dfs What would you like to do? quit What would you like to do? insert 3 at root What would you like to do? insert 6 left of 3 What would you like to do? insert 7 right of 3 What would you like to do? insert 8 left of 7 What would you like to do? insert 10 right of 7 What would you like to do? dfs What would you like to do? quit


Artificial Intelligence vs Business Intelligence - Learn 6 Useful Comparison

#artificialintelligence

Business Intelligence is a technology that is used to gather, store, access and analyzes data to help business users in making better decisions, on the other hand, Artificial Intelligence is a way to make a computer, a computer-controlled robot, or a software that think intelligently like humans.Artificial Intelligence is based on the study that how human thinks, learn, decide and work in order to resolve an issue and then using the outcome of this study as a basis of developing intelligent software and systems. It starts from root node and explores neighbor nodes first and moves to the next level neighbor nodes.It provides the shortest path to the solution and can be implemented using FIFO This algorithm is implemented using LIFO(Last in first out)data structure.It creates nodes same as breadth-first search but it differs in only order.In each iteration, it stores the nodes from root to leaf and also it cannot check duplicate nodes. It makes predictions by using Bayes algorithm, which derives probability prediction from the underlying evidence, as observed in data. In this algorithm, sorting is done in increasing cost of the path to a node.It always expands the least cost node.This search is identical to the Breadth-first search if each transition has the same cost.It explores the path in the increasing order of cost. It implements logistic regression for classification of binary targets and linear regression for continuous targets.It supports confidence bounds for prediction probabilities and also supports confidence bounds for prediction. It performs the depth-first search at level-1 and starts over, then executes a complete depth-first search to level 2, and continues till it gets the solution.


Anytime Best+Depth-First Search for Bounding Marginal MAP

AAAI Conferences

We introduce new anytime search algorithms that combine best-first with depth-first search into hybrid schemes for Marginal MAP inference in graphical models. The main goal is to facilitate the generation of upper bounds (via the best-first part) alongside the lower bounds of solutions (via the depth-first part) in an anytime fashion. We compare against two of the best current state-of-the-art schemes and show that our best+depth search scheme produces higher quality solutions faster while also producing a bound on their accuracy, which can be used to measure solution quality during search. An extensive empirical evaluation demonstrates the effectiveness of our new methods which enjoy the strength of best-first (optimality of search) and of depth-first (memory robustness), leading to solutions for difficult instances where previous solvers were unable to find even a single solution.


Fragment by copy and trim

#artificialintelligence

This is part of a series of essays on how to fragment a molecular graph using RDKit. These are meant to describe the low-level steps that go into fragmentation, and the ways to think about testing. How do you tell if an algorithm is correct? Sometimes you can inspect the code. More often you have test cases where you know the correct answer.


Artificial Intelligence Popular Search Algorithms

#artificialintelligence

Searching is the universal technique of problem solving in AI. There are some single-player games such as tile games, Sudoku, crossword, etc. The search algorithms help you to search for a particular position in such games. The games such as 3X3 eight-tile, 4X4 fifteen-tile, and 5X5 twenty four tile puzzles are single-agent-path-finding challenges. They consist of a matrix of tiles with a blank tile.


Iterative-Expansion A*

AAAI Conferences

In this paper we describe an improvement to the popular IDA* search algorithm that emphasizes a different space-for-time trade-off than previously suggested. In particular, our algorithm, called Iterative-Expansion A* (IEA*), focuses on reducing redundant node expansions within individual depth-first search DFS iterations of IDA* by employing a relatively small amount of available memory—bounded by the error in the heuristic—to store selected nodes. The additional memory required is exponential not in the solution depth, but only in the difference between the solution depth and the estimated solution depth. A constant-time hash set lookup can then be used to prune entire subtrees as DFS proceeds. Overall, we show 2- to 26-fold time speedups vs. an optimized version of IDA* across several domains, and compare IEA* with several other competing approaches. We also sketch proofs of optimality and completeness for IEA*, and note that IEA* is particularly efficient for solving implicitly-defined general graph search problems.


Best-First Search for Bounded-Depth Trees

AAAI Conferences

Tree search is a common technique for solving constraint satisfaction and combinatorial optimization problems. The most popular strategies are depth-first search and limited discrepancy search. Aside from pruning or ordering the children of each node, these algorithms do not adapt their search order to take advantage of information that becomes available during search, such as heuristic scores or leaf costs. We present a framework called best-leaf-first search (BLFS) that uses this additional information to estimate the cost of taking discrepancies in the search tree and then attempts to visit leaves in a best-first order. In this way, BLFS brings the idea of best-first search from shortest path problems to the areas of constraint satisfaction and combinatorial optimization. Empirical results demonstrate that this new dynamic approach results in better search performance than previous static search strategies on two very different domains: structured CSPs and the traveling salesman problem.